Matching advertising to game play content

ABSTRACT

An advertisement is associated with a particular user move in a gaming environment where playing of the user move by a user results in the advertisement being displayed at the user&#39;s gaming device. With multiple users, each play of a unique user move results in a corresponding uniquely targeted advertisement being displayed at the respective gaming device of each user. User moves and associated advertisements are bound to one another based on a frequency of use of the user move in game play and the desirability of the advertiser to associate the advertisement with the user move.

CROSS-REFERENCE TO RELATED PATENT DOCUMENTS

This patent application claims a priority benefit and is a continuation of U.S. patent application Ser. No. 13/079,148, filed on Apr. 4, 2011, and entitled. “MATCHING ADVERTISING TO GAME PLAY CONTENT”; which is incorporated herein by reference in its entire

TECHNICAL FIELD

The present disclosure relates to games and applications in general, and in particular, to computer-implemented online games playable on mobile devices.

BACKGROUND

In many games, there is a virtual world or some other imagined playing space where a game player controls one or more player characters (herein “character,” “player character,” or “PC”). Player characters may be considered in-game representations of the controlling player. As used here, the terms “player,” “user,” “entity,” and “friend” may refer to the in-game player character controlled by that player, user, entity, or friend, unless context suggests otherwise. A game display may display a representation of the player character. A game engine accepts inputs from the player, determines player character actions, decides outcomes of events, and presents the player with a game display illuminating what happened. In some games, there are multiple players, wherein each player controls one or more player characters.

Internet users typically access online games using browser clients (e.g., Firefox®, Google Chrome™, Internet Explorer®, etc). Many mobile client devices (e.g., cellular phones, personal digital assistants, computer tablets, etc.) can access and nm various computer games via the Internet. Mobile client users typically access online games by using the browser clients or custom applications.

Typically users may also incorporate a browser client to handle many aspects of their online interests and daily activities including e-mail (e.g., Gmail™ webmail service, Yahoo! Mail GMX™ Mail, etc), information searches by online search providers (e.g., Google Search, Bling™, Yahoo!™ Search, etc.), shopping (e.g., Google Shopping™, Amazon.com™,), and social networking (Facebook®, LinkedIn®, Twitter®).

Any of these online browsing environments may serve online advertisements to users during the course of their pursuits of online activities. One common approach for triggering the serving of an online advertisement is for a browser or online application to determine a user's location and display an advertisement with some correlation to the determined location. Another trigger of online display advertisements may be the content of personal e-mail, which many users may consider to be intrusive.

BRIEF DESCRIPTION OF DRAWINGS

Sonic embodiments are illustrated by way of example and not by way of limitation in the figures of the accompanying drawings in which:

FIG. 1 is a device diagram illustrating a screen image of an advertisement displayed during game play on a mobile device, according to an example embodiment;

FIG. 2 is a system diagram of an advertisement networking system electrically coupled to example client devices and a gaming network system, according to an example embodiment;

FIG. 3 is a flow chart illustrating a method of providing an advertisement associated with game play content, according to an example embodiment;

FIG. 4 is a flow chart illustrating a method of determining an optimal game play content-based advertisement for displaying to a device, according to an example embodiment;

FIG. 5 is a flow chart illustrating a method of promoting further gaming action on the part of users through game play reward incentives, according to an example embodiment;

FIG. 6 is a flow chart illustrating a method of preparing a game play content-based advertisement trigger, according to an example embodiment;

FIG. 7 is a flow chart illustrating a method of producing a promotional advertisement of a targeted user move, according to an example embodiment;

FIG. 8 is a flow chart illustrating a method of developing an advertiser's proposed game play content-based advertising campaign; and

FIG. 9 is a block diagram of a machine in the example form of a computer system within which a set of instructions, for causing the machine to perform any one or more of the methodologies discussed herein may be executed.

DETAILED DESCRIPTION

In the following description, for purposes of explanation, numerous specific details are set forth in order to provide a thorough understanding of some example embodiments. It will be evident, however, to one skilled in the art that the present invention may be practiced without these specific details.

Environment

FIG. 1 depicts a mobile device 100, such as a cell phone 105, engaged in an online game session as a client device. The cell phone 105 may incorporate a touch screen 110 to display images of game play and facilitate user interaction. A main game play area 115 may display a primary game play board area 118, which may be a word game for example, where words may be spelled out from letter tiles 120 available from a tile rack 125. Each of two or more players may take turns spelling new words from their available letter tiles 122 where a new word includes at least one letter tile 120 associated with a previously played word to form the newly spelled word. A user may select a letter to play by applying a finger tip on the touch screen 110 over an available letter tile 120 in the tile rack 125, The letter tile 120 may then be dragged to an unoccupied tile position in the game play board area 118 while continuous contact is maintained with the finger on the touch screen 110.

In a user move, a succession of letter tiles 122 may be selected from the tile rack 125 and moved to a line of adjacent unoccupied tile positions to spell a complete word. Upon completion of spelling an entire word, an advertisement may be presented in an ad banner 130 in an upper portion of the touch screen 110. The content of the advertisement may be related to the user move.

In the present embodiment, a user has selected a succession of letters S-D-A 122 to spell the word “SODA” 135 horizontally across the beginning of the word “ORB” 140 in an upper portion of the touch screen 110. The word “SODA” 135 may be associated with an advertisement for a branded soft drink, such as the hypothetical “Rosco Root Beer” brand, Playing the user move S-D-A 122 to spell “SODA” 135 may cause the “Drink Rosco Root Beer” advertisement 145 to be displayed in the ad banner 130 at the mobile device 100, After a new word may be completely spelled out, a next player proceeds with their turn to try and spell another word.

The preceding embodiment of a word game may be an example of one type of game play involving a user move by a player that may involve the display of an advertisement associated with the user move. The advertisement may be associated with a most recent user move and have advertising content relating to the content or context of the user move. For example, spelling out the word “shirt” may cause the display of an advertisement for laundry detergent.

Embodiments of game play triggering related advertisements are not limited to a single user. Multiple users may be playing the same game and each user's game play may trigger separate advertisements which may be displayed at the respective mobile device 100 of each user. In other embodiments it may be possible that a general promotional advertisement may be displayed to one or more users to prompt a certain type of user moves on the part of users in game play which may in turn relate to a product being promoted.

System

FIG. 2 depicts a block diagram and data flow between components of a gaming system 200. The gaming system 200 may include a selection of a client device 205, an ad server 210 and game play server 215. The client device 205 may be a laptop personal computer (PC), a tablet computer, a cell phone, a personal digital assistant, or a desk-side or test-top PC. The client device 205, the ad server 210, and the game play server 215 may each have a corresponding data stores such as local storage 220, ad data storage 225 and game play data storage 230, respectively. The client device 205 may use an ad network 235 to communicate with the ad server 210 to transmit and/or receive advertisement data 240 (e.g., game inputs, advertisements, incentive offer information, data transfers, etc.). Additionally, the client device 205 may use a same play network 245 to communicate with the game play server 215 to transmit and/or receive game play data 250 (e.g., game inputs, user moves, data transfers, HyperText Transfer Protocol [HTTP] packets, game displays, web pages, etc.).

In a similar fashion, the ad server 210 and the game play server 215 may communicate HTTP packets 255 (e.g., data requests, ad related information, game play information, updates, etc.) between one another over a server network 257 connected between the ad server 210 and the game play server 215. At some other time, or at the same time, the game play server 215 may communicate game data 260 (e.g., game state information, user move information, game type, game system account information, page info, messages, etc.) over a game state network 265 to the ad server 210.

Communication between client device 205, ad server 210 and game play server 215 may occur over any appropriate electronic communication medium or network using any suitable communication protocol. For example, the client device 205, as well as various servers of the systems described, herein, may include Transport Control Protocol/Internet Protocol (TCP/IP) networking stacks to provide for datagram and transport functions. Of course, any other suitable network and transport layer protocols may be utilized.

In addition, hosts or end-systems described herein may use a variety of higher layer communications protocols, including client-server (or request-response) protocols, such as HTTP and other communications protocols, such as HTTP-S, file transfer protocol FTP, simple network management protocol SNMP, the Internet and local area network protocol TELNET, and a number of other protocols, may be used. In addition, a server in one interaction context may be a client in another interaction context. Still further, in particular implementations, the information transmitted between hosts may be formatted as HyperText Markup Language (HTML®) documents. Other structured document languages or formats may be used, such as extensible markup language XML®, and the like. Executable code objects, such as JavaScript® and ActionScript®, may also be embedded in the structured documents.

In some client-server protocols, such as the use of HTML® over HTTP, a server generally transmits a response to a request from a client. The response may comprise one or more data objects. For example, the response may comprise a first data object, followed by subsequently transmitted data objects. In one implementation, for example, a client request may cause a server to respond with a first data object, such as an HTML® page, which itself refers to other data objects. A client application, such as a browser, will request these additional data objects as it parses or otherwise processes the first data object.

The example data flows in this section are presented with respect to data flow between advertisement networking systems and game networking systems. One skilled in the art would appreciate that these are presented merely as an example of a data flow between two types of online systems. However, the present disclosure may be intended to encompass data flows between a game networking system and a variety of other online systems, such as online media systems, online reviewing systems, online search engines, and online advertising systems. The example data flows described herein function analogously with these online systems as with advertisement networking systems.

It may be recognized by one skilled in the art, that the example data flow and general communication channels described herein as networks in this section may lend themselves to being implemented as a self-contained offline system. The communication channels and the corresponding data described herein may be conceived of being transmitted in a directly coupled off-line system which may electrically couple similar system elements as those described.

User moves may be entered by a user at the client device 205. Generally, a user move may be an action on the part of a player to trigger an action, event, or outcome in game play. For example, a user move may be the playing of a game element, placement of one or more letter tiles in a board area of a word game, or a placement of a player character to trigger an in-game event. Each of the user moves entered by a user at the client device 205 may be received by the ad server 210 in a game play session. The moves may be received by redirection from the game play server 215 or directly from the client device 205. The ad server 210, in response to receiving the user move, may search a database of stored user moves stored in the ad data storage 225 to compare the user move with a stored selection of user moves. If a match is detected by the ad server 210, the user move may be determined to be a stored user move. It may also be said that if the received user move matches a stored user move, the stored user move may be determined to have been “played.”

The ad server 210 may determine that the stored user move has been used in the game and that an advertisement stored in the database and associated with the stored user move may he retrieved. A link contained in the data structure and stored with the stored user move may be used to locate the corresponding advertisement, which may also known as a display advertisement. The display advertisement may be transmitted to the client device 205 engaged in the game session. The client device 205 displays the advertisement within the gaming session.

Game play may involve multiple users each making user moves that trigger associated advertisements. The ad server 210 during the course of game play may receive location information (further explained below) from the client device 205 of each player. Each user's identifier and respective location information may be maintained by the ad server 210. When an advertisement is triggered by a user move, the location information may he utilized in determining the device location for the advertisement to be transmitted to. In this way multiple users may each be making independent user moves and receive associated advertisements at their individual client device 205 independent of other users. An advertiser may also be assured that their particular advertisement may be directed to users and to user moves associated with the advertisement they may have purchased. This segregation of user, user move and associated advertisement assures that multiple advertisers may purchase advertisements within the same game and have their respective user moves and associated advertisement interactions played out independent of any other advertiser.

In some embodiments, the stored user move may constitute the playing of a word and an informational advertisement containing information related to the word may be transmitted to the client device 205 for display when the stored user move is played. The informational advertisement may contain word-related information such as a definition, a grammatical fact, and an etymological fact. Such informational advertisements may be sponsored by an associated advertiser. The display of the informational advertisement may include the corresponding advertiser's low or branding information subtly displayed as part of the information in the advertisement. Such display advertising may be far less intrusive to the user than conventional advertising based on location or personal user information.

In order to determine the likelihood that a given user move will be used in game play, an online game company desiring to facilitate online display advertisements, for example, may track play of the user move by a set of users within a sample of online game sessions. An online game, that may be representative of a published game or the published game itself, may be initiated by the online game company to provide a sample session environment. A representative number of users may be recruited to play the online game. The representative number of users may be selected to be large enough for their play to represent typical users of an online gaming community and their game play statistically reflects nominal usage of various user moves.

All of the user moves used in game play by the representative users may be tracked or only a set of candidate user moves may be tracked for a targeted advertising campaign. A calculation of the frequency of use of each user move used in game play within the online game session sample may be kept in a database within the server system. A calculation of the frequency of use of the user move may be blade by calculating the number of times a user move may be played during a specific period of time, such as the sample game play sessions, Alternatively, the calculation of the frequency of use of a user move may be taken from the total number of user moves received over the entirety of a game. The threshold may be established by an advertiser or a gaining producer, for example.

The data structure used in storing a game play word may also include space for a link to a stored advertisement. The actual stored advertisement may be determined at a later time and not be known at the time that the calculation may be taken and the game play word placed in storage. The advertisement may be associated with a selected user move at a later time. The association of the advertisement with the user move may be carried out by the advertiser or the gaming provider. The association may be carried out by populating the link in the user move data structure (or “associating data structure”) with an address of the advertisement in the database of the ad data storage 225. Filling in the database link may associate the user move with the advertisement and thus may make the advertisement a “stored advertisement” indicating that the stored advertisement may be the target of an association with the linked user move. Additionally, multiple user moves may be associated with multiple stored advertisements within an ad campaign. Also, more than one user move may be associated with the same stored advertisement. Additionally, more than one advertiser may purchase the same user move and therefore more than one advertisement may be associated with the same user move.

Once an advertisement is determined to be a stored advertisement it may literally be stored on any of the local data stores described above, namely the local storage 220, the ad data storage 225 and the game play data storage 230 of the client device 205, the ad server 210, and the game play server 215 respectively. While the ad storage offered by the ad server 210 may typically be the primary storage location for stored advertisements and candidate advertisements; stored ads, and alternatively candidate advertisements, may also be stored in a local cache, along with all or a portion of the linking data structure at either the game play data storage 230 or the local storage 220.

In the case of keeping the stored advertisements in the game play data storage 230, the game play server 215 may receive user moves that trigger stored advertisements kept in the game play data storage 230. Having stored advertisements corresponding to a particular game stored in the game play data storage 230 may avoid the need to contact the ad server 210 for each ad as well as avoid the latency such interaction with the ad server 210 may cause.

A particular game may be preconfigured with pre-cached advertisements stored locally in the game play data storage 230 of the game play server 215. In this way, the game application may be pre-configured and later run independently from the ad server 210. In the case of gaming devices advertisement pre-configuration and caching may allow a mobile device to continue game play with advertisements when an independent connection to the ad server 210 is lost or temporarily interrupted. Additionally, only the stored advertisements may be initially configured and pre-cached in decentralized locations such as the game play data storage 230 and the local storage 220 and at some later time the associating data structure (advertisement triggers) may be downloaded and incorporated with the stored advertisements as new advertising campaigns are fulfilled.

Alternatively, the pre-caching approach may be incorporated into completely independent and off-line devices used in standalone game play. For example, stored advertisements and associated advertisement triggers may be pre-cached at the local storage 220 of a client device 205 that has been configured in a prior connection and later operates autonomously and off-line from either the game play server 215 or the ad server 210. In this way, a completely autonomous game play session, including all advertisement implementation, maybe carried out by a remotely operating game play device.

In yet a further alternate embodiment, the associating data structure may be pre-cached at a storage location away from the ad data storage 225 such as the game play data storage 230 or the local storage 220. In this way, the advertisement trigger may be stored and detected locally at either the client device 205 or in the game play server 215. In so doing, each of the devices may transmit a request for a corresponding stored advertisement during a game play session after identifying a stored user move corresponding to an advertisement trigger. In an even further alternative, pre-cached advertisement triggers residing on a client device 205 may later be linked to later downloaded advertisements to be locally cached with corresponding advertisement triggers. Regardless of whether the client device 205 is operating in an online or standalone mode, pre-cached advertisements and corresponding advertisement triggers may be kept in the local storage 220 with or without a corresponding downloaded application. Additionally, advertisements and advertisement triggers may be pre-cached without any predefined game application association and may later be bound to a particular game by user selection and/or purchase,

Alternately, the game play server 215 may manage the use in game play of the associating data structure and link. When a user move triggers a stored advertisement the game play server 215 may determine the stored advertisement utilizing the link contained in the associating data structure and request the stored advertisement directly from the ad server 210.

A particular user move or a set of user moves that have been tracked and a total frequency of use determined in sample game play sessions may be presented to an advertiser as candidate advertisement triggers. Each candidate advertisement trigger may contain a user move along with the respective frequency of use. The advertiser may have a particular product believed to have a certain appeal to the typical player of the online game. The product may have a close association with one or more user moves typically used in the online game, or a close association with the game itself. The advertiser may review the game play user moves tracked in the sample online game sessions along with the respective associated frequency of use and determine which user move may make a suitable advertisement trigger for their product.

Once an advertiser determines that a user move (or user moves) matches their requirements for association with their product or brand, the candidate advertisement trigger may be purchased by the advertiser. The advertiser may purchase the user move and have exclusive rights to the user move in the associated online game for triggering the advertisement. Alternatively the same user move may be sold for exclusive use in a separate game to a further advertiser. Additionally, a gaming producer may sell the same user move to multiple advertisers within the same game. Prioritization and arbitration between advertisers situations may be incorporated when multiple advertisers may have purchased the same user move in the same game. The advertiser may already have the intended display advertisement or may be planning to produce an advertisement associated with the user move and the corresponding online game. Knowing the frequency of use, the advertiser has an expectation of how often the user move will be used in general game play and how often their product may be promoted by the display of the linked advertisement when the game play user move is purchased for a given game.

On the other hand, a gaming producer may receive an advertising proposal from a prospective advertiser. The proposal may include at least one proposed user move to be considered for becoming a stored user move to be used in game play. The gaming producer may search the database of stored user moves and if the proposed user move is determined to be a stored user move, then retrieve the frequency of use of the stored user move corresponding to the proposed user move. When the frequency of use of the stored user move exceeds a minimum threshold, the gaming producer may propose an advertising campaign to the prospective advertiser. The minimum threshold may be selected for commercial viability reasons, as too low of a threshold may mean that not enough revenue may be generated to justify pursuit of.

An advertiser may be charged for the general sponsoring of the stored advertisement. Sponsorship of the ad may include acquiring the rights to the user move, associating the advertisement with the user move, and covering the expenses in determining the user move frequency of use. The advertiser may also be charged each time the stored advertisement is transmitted for display to the client device 205 or each time the user move triggers the associated stored advertisement. Each time the stored advertisement is triggered, a count may be kept in the associated database as part of the advertisement related usage information. In the case of the ad server 210 managing the association of game play content with advertisement content, usage information such as the total count of triggering clicks by user moves may be kept in the database residing in the ad data storage 225. Alternatively, the game play server may manage the association of game play content with advertisement content and keep the corresponding usage information in the game play data storage 230.

During game play, a user move may correspond with and invoke more than one advertisement. For instance, a user move of the word “earphone” in a word game, made by adding “E-A-R-P-H” to the word “ONE” may trigger a stored advertisement for a stereo (corresponding to the word “earphone”) and a further stored advertisement for a cell phone (corresponding to the word “phone”). A prioritization between the advertisements may be undertaken to determine an optimal advertisement to display to the user according to a selection criterion.

During the course of a game play session, the ad server 210 may receive the selection criterion as a part of game play data transmitted from the game play server 215, for example. The game play data may include, in addition to the selection criterion, such things as a further user move, a game type identifier, a corresponding user move frequency of use, and a game play location.

The selection criterion may be used by the ad server 210 to determine the optimal advertisement to be sent to the user who has played the user move that triggered multiple advertisements. The selection criterion may he a set of instructions and/or standards used by the ad server 210 to differentiate one advertisement over another. The selection criterion may be one or more of a maximum price per click of a corresponding advertisement trigger, a maximum purchase price paid for the ad, a maximum price between the ads paid to purchase a corresponding advertising campaign. Additionally, the selection criterion may include an optimal relationship ranking of a corresponding advertiser of the ad, the frequency of use of the user move triggering the ad, the ad's not being recently displayed, and simple random selection.

Where a user move has triggered more than one advertisement, each of the advertisements may be retrieved from a database contained in the ad data storage 225 and assessed by the ad server according to the selection criterion. For example, the purchase price paid for a first ad may be compared to the purchase price paid for a second ad and the maximum purchase price paid may determine which ad may be transmitted to the client device 205 for display.

Alternatively, where more than one selection criterion data may be available, a first type of selection criterion data may be compared to a second type of selection criterion data for a determination of relative importance. For example, both a relationship ranking (i.e., with a gaming provider) and a purchase price of a corresponding advertising campaign may be available for two advertisements. A first advertiser may have paid more than a second advertiser for their respective advertising campaign but the second advertiser may have a higher relationship ranking than the first advertiser. Where the selection criteria has placed a greater value on the relationship ranking over the purchase price of the ad campaign, the advertisement corresponding to the second advertiser will be transmitted to the client device 205 for display. In this way the gaming provider may determine how an advertisement display situation, that would otherwise be conflicting, may be resolved with differentiating information provider in the selection criteria.

An advertiser may want to promote an upcoming event or product release that may be associated with a game. A promotional advertisement may be devised as part of an advertising campaign that may be broadcast to users of the targeted game to entice them to make certain game play activities relating to the upcoming event. For instance, an advertiser may want to promote an upcoming movie and advertise that users that incorporate the word “movie” as a user move in their game play may receive a set of promotional tickets to the opening of the movie as part of a contest. The advertisement may limit the number of users who may qualify for the promotional tickets and the period of time within which the targeted user move may occur in their game play in order to qualify. For instance, a qualifying period of game play within which to play the targeted user move may be set at thirty days from the original date of displaying the advertisement.

When a user plays the word “movie” as a user move a corresponding identifier and time stamp may be entered into the database. At the end of the advertising campaign, a first portion of the users playing a word “movie” are selected and sent a promotional set of tickets. The first portion of users may be, for example, the first one thousand users out of all users submitting the targeted user move during the advertising campaign. Playing the targeted word may also trigger display of a further associated stored advertisement to the user in addition to the initial promotional advertisement. The further stored advertisement may be associated to the targeted user move in the same manner discussed above.

As a further promotion to game play, a user may receive a reward element during the course of playing a game. The reward element may be a letter in a word game, a piece of treasure in a pirate game, or a special clue in an exploration game, for example. The reward element may be played by the user as at least a portion of a user move in a featured portion of game play. For example, the user may use a reward letter tile in a word game toward the spelling of a featured word on a list of featured words. Over the course of game play, many reward letter tiles may have been collected and stored within the user's game play environment. In this case, the user may select at least one reward letter tile from among the just received reward letter tile or a reward letter tile from their stored tiles. If the selected reward letter tiles complete the spelling of the featured word, a further reward may be offered to the user.

Reward elements may also be used in trade and as gifts between users. For example, a first user may decide to have a reward letter tile (or tiles) transmitted to a second user as a gift. The first and the second user may decide to exchange tiles and transmit their respective reward letter tiles to one another. During game play, a user may ask, through in-game messaging, “does anyone have a letter ‘P’” for instance and initiate a trade with a positively responding user.

Methods

FIG. 3 depicts an example method of receiving an advertisement associated with game play content 300 commencing with receiving 305 a user move from a device engaged in a game session and retrieving 310 an advertisement associated with the user move from the database of stored user moves and stored advertisements. The method continues with transmitting 315 the advertisement to a device for display and associating 320 user moves with advertisements. The method goes on with storing 325 user move and associated advertisements in the database and comparing 330 the user move with stored user moves in the database. The method includes determining 335 that the user move is a stored user move and providing 340 at least one of a definition, a grammatical fact, and an etymological fact to be displayed by the device when the user move is determined to be a stored user move. And finally the method concludes with charging 345 an advertiser each time the advertisement is transmitted to a device for display and charging 350 the advertiser to sponsor the advertisement. Alternatively, charging of an advertiser may occur with each transmitted display advertisement that is selected and clicked-through by the user.

FIG. 4 depicts an example method of determining an optimal game play content-based advertisement for displaying to a device 400. The method proceeds with receiving 405 game play data having a further user move, a selection criterion, and at least one of aching type identifier, a frequency of use of the further user move, and a game play location. The method continues with retrieving 410 further advertisements corresponding with the further user move and determining 415 an optimal advertisement from among the received advertisement and the plurality of further advertisements according to the selection criterion. The method concludes with transmitting 420 the optimal advertisement to the device for display where the selection criterion 425 is at least one of a maximum price per click to select the advertisement, a maximum purchase price for the advertisement, a maximum price for and associated advertising campaign, an optimal relationship breaking up the advertiser, the frequency of use of the user move, that the advertisement has not recently been displayed, and a random selection taken from among contending advertisements.

FIG. 5 depicts an example method of promoting further game play action on the part of users through game play content-based advertising 500. The method proceeds with receiving 505 a reward element and completing 510 a featured user move from a list of featured user moves where the completion of the user move is accomplished using a chosen reward element selected from among the received reward element and previously stored reward elements. The method continues with receiving 515 a further reward upon the completion of the featured user move. The method continues with receiving 520 a reward element from a device and transmitting the reward element to a second device and receiving 525 an indication from the device to execute one of either gifting or trading of the reward element. The method concludes where gifting 530 includes receiving the reward element from the device and transmitting the reward element to the second device and trading 535 includes exchanging the reward element from the device with the second reward element from the second device.

FIG. 6 depicts an example method of preparing a user move and frequency of use information as a game play content-based advertisement trigger for sale to an advertiser 600. The method proceeds with tracking 605, for a predetermined period of time, the use of the user move by multiple devices engaged in a game session and calculating 610 the user move frequency of use within the game sessions. The method continues with presenting 615 the user move and user move frequency as an advertisement trigger to an advertiser and storing 620 the user move and user move frequency of use as a candidate advertisement trigger when the user move frequency of use exceeds a predetermined threshold usage. The method concludes with selling 625 the advertisement trigger to an advertiser.

FIG. 7 depicts an example method of producing a game play content-based promotional advertisement to a group of gaming users 700. The method commences with initiating 705 a game session having multiple users and transmitting 710, for display, a promotional advertisement advocating the use of a stored user move by users. The method continues with offering 715 a reward to the users to play the stored user move during an advertising campaign and associating 720 the stored user move with the promotional advertisement and advertising campaign. The method includes providing 725 a reward to a first portion of the users that is less than or equal to a predefined threshold of users and providing 730 a further advertisement corresponding to the stored user move when the stored user move is used in game play. The method concludes with offering 735 the reward conditioned on the use of the stored user move in game play within a predefined period of time of display of the advertisement.

FIG. 8 depicts an example method of developing an advertiser's proposed game play content-based advertising campaign 800. The method commences with receiving 805, from a perspective advertiser, and advertising proposal with a proposed user move to be considered as a candidate stored user and determining 810 that a candidate user move is a stored user move stored in the database with a corresponding frequency of use. The method concludes with proposing 815 an advertising campaign when the frequency of use of the stored user move exceeds a predefined amount.

One skilled in the art will readily recognize that where this section has referred to a game session, that game session may be a standalone off-line game session or an online game session conducted through data communications as described above regarding, for example, use of the ad network 235, the game play network 245, and the server network 247 connected between the client device 205, the ad server 210, and the game play server 215. Alternately, the game session may be conducted off-line in a device that may be a self contained or a standalone system. Either implementation may be equally applicable to application of at least the details described herein.

Modules, Components and Logic

Certain embodiments may be described herein as including logic or a number of components, modules, or mechanisms. Modules may constitute either software modules (e.g., code embodied on a machine-readable medium or in a transmission signal) or hardware modules. A hardware module is a tangible unit capable of performing certain operations and may be configured or arranged in a certain manner. In example embodiments, one or more computer systems (e.g., a standalone, client or server computer system) or one or more hardware modules of a computer system e.g., a processor or a group of processors) may be configured by software (e.g., an application or application portion) as a hardware module that operates to perform certain operations as described herein.

In various embodiments, a hardware module may be implemented mechanically or electronically. For example, a hardware module may comprise dedicated circuitry or logic that may be permanently configured (e.g., as a special-purpose processor, such as a field programmable gate array (FPGA) or an application-specific integrated circuit (ASIC)) to perform certain operations. A hardware module may also comprise programmable logic or circuitry (e.g., as encompassed within a general-purpose processor or other programmable processor) that may be temporarily configured by software to perform certain operations. It will be appreciated that the decision to implement a hardware module mechanically, in dedicated and permanently configured circuitry, or in temporarily configured circuitry (e.g., configured by software) may be driven by cost and time considerations.

Accordingly, the term “hardware module” should be understood to encompass a tangible entity, be that an entity that may be physically constructed, permanently configured (e.g., hardwired) or temporarily configured (e.g., programmed) to operate in a certain manner and/or to perform certain operations described herein. Considering embodiments in which hardware modules are temporarily configured (e.g., programmed), each of the hardware modules need not be configured or instantiated at any one instance in time. For example, where the hardware modules comprise a general-purpose processor configured using software, the general-purpose processor may be configured as respective different hardware modules at different times. Software may accordingly configure a processor, for example, to constitute a particular hardware module at one instance of time and to constitute a different hardware module at a different instance of time.

Hardware modules may provide information to, and receive information from, other hardware modules. Accordingly, the described hardware modules may be regarded as being communicatively coupled. Where multiple of such hardware modules exist contemporaneously, communications may be achieved through signal transmission (e.g., over appropriate circuits and buses) that connect the hardware modules. In embodiments in which multiple hardware modules are configured or instantiated at different times, communications between such hardware modules may be achieved, for example, through the storage and retrieval of information in memory structures to which the multiple hardware modules have access. For example, one hardware module may perform an operation, and store the output of that operation in a memory device to which it may be communicatively coupled. A further hardware module may then, at a later time, access the memory device to retrieve and process the stored output. Hardware modules may also initiate communications with input or output devices, and may operate on a resource (e.g., a collection of information).

The various operations of example methods described herein may be performed, at least partially, by one or more processors that are temporarily configured (e.g., by software) or permanently configured to perform the relevant operations. Whether temporarily or permanently configured, such processors may constitute processor-implemented modules that operate to perform one or more operations or functions. The modules referred to herein may, in some example embodiments, comprise processor-implemented modules.

Similarly, the methods described herein may be at least partially processor-implemented. For example, at least some of the operations of a method may be performed by one or more processors or processor-implemented modules. The performance of certain of the operations may be distributed among the one or more processors, not only residing within a single machine, but deployed across a number of machines. In some example embodiments, the processor or processors may be located in a single location (e.g., within a home environment, an office environment or as a server farm), while in other embodiments the processors may be distributed across a number of locations.

The one or more processors may also operate to support performance of the relevant operations in a “cloud computing” environment or as a “software as a service” (SaaS). For example, at least some of the operations may be performed by a group of computers (as examples of machines including processors), these operations being accessible via a network (e.g., the Internet) and via one or more appropriate interfaces (e.g., Application Program Interfaces (APIs).)

Electronic Apparatus and System

Example embodiments may be implemented in digital electronic circuitry, or in computer hardware, firmware, software, or in combinations of them. Example embodiments may be implemented using a computer program product, e.g., a computer program tangibly embodied in an information carrier, e.g., in a machine-readable medium for execution by, or to control the operation of, data processing apparatus, e.g., a programmable processor, a computer, or multiple computers.

A computer program may be written in any form of programming language, including compiled or interpreted languages, and it may be deployed in any form, including as a stand-alone program or as a module, subroutine, or other unit suitable for use in a computing environment. A computer program may be deployed to be executed on one computer or on multiple computers at one site or distributed across multiple sites and interconnected by a communication network.

In example embodiments, operations may be performed by one or more programmable processors executing a computer program to perform functions by operating on input data and generating output. Method operations may also be performed by, and apparatus of example embodiments may be implemented as, special purpose logic circuitry, e.g., a field programmable gate array (FPGA) or an application-specific integrated circuit (ASIC).

The computing system may include clients and servers. A client and server may generally be remote from each other and typically interact through a communication network. The relationship of client and server arises by virtue of computer programs running on the respective computers and having a client-server relationship to each other. In embodiments deploying a programmable computing system, it will be appreciated that that both hardware and software architectures require consideration. Specifically, it will be appreciated that the choice of whether to implement certain functionality in permanently configured hardware (e.g., an ASIC) in temporarily configured hardware (e.g., a combination of software and a programmable processor), or a combination of permanently and temporarily configured hardware may be a design choice. Below are set out hardware (e.g., machine) and software architectures that may be deployed, in various example embodiments.

Example Machine Architecture and Machine-Readable Medium

FIG. 9 is a block diagram of machine in the example form of a computer system 900 within which instructions, for causing the machine to perform any one or more of the methodologies discussed herein, may be executed. In alternative embodiments, the machine operates as a standalone device or may be connected. (e.g., networked) to other machines. In a networked deployment, the machine may operate in the capacity of a server or a client machine in server-client network environment, or as a peer machine in a peer-to-peer (or distributed) network environment. The machine may be a personal computer (PC), a tablet PC, a set-top box (STB), a Personal Digital Assistant (PDA), a cellular telephone, a web appliance, a network router, switch or bridge, or any machine capable of executing instructions (sequential or otherwise) that specify actions to be taken by that machine. Further, while only a single machine is illustrated, the term “machine” shall also be taken to include any collection of machines that individually or jointly execute a set (or multiple sets) of instructions to perform any one or more of the methodologies discussed herein.

The example computer system 900 includes a processor 902 (e.g., a central processing unit (CPU), a graphics processing unit (GPU) or both), a main memory 904 and a static memory 906, which communicate with each other via a bus 908. The computer system 900 may further include a video display unit 910 (e.g., a liquid crystal display (LCD) or a cathode ray tube (CRT)). The computer system 900 also includes an alphanumeric input device 912 (e.g., a keyboard), a user interface (UI) navigation and cursor control device 914 (e.g., a mouse), a disk drive unit 916, a signal generation device 918 (e.g., a speaker) and a network interface device 920.

For example, within the computer system 900, the processor 902 may be utilized to facilitate the steps, described above, of comparing the user move with the stored user moves in the database, determining the user move is a stored user move, and determining an optimal advertisement from among the advertisement and the plurality of further advertisements according to the selection criterion. These and any one of the related steps of the methods detailed above may be carried out according to instructions 924 stored in any one of the processor 902, the main memory 904, the static memory 906, and the drive unit 916 (see MACHINE-READABLE MEDIUM below). In further example, the database having stored user moves and associated advertisements may be facilitated in whole or in part in the main memory 904, the static memory 906, and the drive unit 916 or distributed across a combination of these three storage elements.

By way of continuing example, the step of transmitting the advertisement to the device for display may be facilitated by the network interface device 920 being in electrical communication with the processor 902 and the network 926 over the bus 908. By way of additional example, the network interface device 920 and the network 926 may facilitate the steps of receiving a user move from a device engaged in a game session, receiving game play data comprising a selection criterion; and at least one of a game type identifier; a frequency of use of the further user move; and a game play location, and receiving a reward element.

Machine-Readable Medium

The disk drive unit 916 includes a machine-readable medium 922 on which is stored one or more sets of instructions and data structures (e.g., software) 924 embodying or utilized by any one or more of the methodologies or functions described herein. The instructions 924 may also reside, completely or at least partially, within the main memory 904 and/or within the processor 902 during execution thereof by the computer system 900, the main memory 904 and the processor 902 also constituting machine-readable media.

While the machine-readable medium 922 is shown in an example embodiment to be a single medium, the term “machine-readable medium” may include a single medium or multiple media (e.g., a centralized or distributed database, and/or associated caches and servers) that store the one or more instructions or data structures. The term “machine-readable medium” shall also be taken to include any tangible medium that is capable of storing, encoding or carrying instructions for execution by the machine and that cause the machine to perform any one or more of the methodologies of the present invention, or that is capable of storing, encoding or carrying data structures utilized by or associated with such instructions. The term “machine-readable medium” shall accordingly be taken to include, but not be limited to, solid-state memories, and optical and magnetic media. Specific examples of machine-readable media include non-volatile memory, including by way of example semiconductor memory devices, e.g., Erasable Programmable Read-Only Memory (EPROM), Electrically Erasable Programmable Read-Only Memory (EEPROM), and flash memory devices; magnetic disks such as internal hard disks and removable disks; magneto-optical disks; and CD-ROM and DVD-ROM disks.

Transmission Medium

The instructions 924 may further be transmitted or received over a communications network 926 using a transmission medium. The instructions 924 may be transmitted using the network interface device 920 and any one of a number of well-known transfer protocols (e.g., HTTP). Examples of communication networks include a local area network (“LAN”), a wide area network (“WAN”), the Internet, mobile telephone networks, Plain Old Telephone (POTS) networks, and wireless data networks (e.g., WiFi and WiMax networks). The term “transmission medium” shall be taken to include any intangible medium that is capable of encoding or carrying instructions for execution by the machine, and includes digital or analog communications signals or other intangible media to facilitate communication of such software.

Although an embodiment has been described with reference to specific example embodiments, it will be evident that various modifications and changes may be made to these embodiments without departing from the broader spirit and scope of the invention. Accordingly, the specification and drawings are to be regarded in an illustrative rather than a restrictive sense. The accompanying drawings that form a part hereof, show by way of illustration, and not of limitation, specific embodiments in which the subject matter may be practiced. The embodiments illustrated are described in sufficient detail to enable those skilled in the art to practice the teachings disclosed herein. Other embodiments may be utilized and derived therefrom, such that structural and logical substitutions and changes may be made without departing from the scope of this disclosure. This Detailed Description, therefore, is not to be taken in a limiting sense, and the scope of various embodiments may be defined only by the appended claims, along with the full range of equivalents to which such claims are entitled.

Such embodiments of the inventive subject matter may be referred to herein, individually and/or collectively, by the term “invention” merely for convenience and without intending to voluntarily limit the scope of this application to any single invention or inventive concept if more than one may be in fact disclosed. Thus, although specific embodiments have been illustrated and described herein, it should be appreciated that any arrangement calculated to achieve the same purpose may be substituted for the specific embodiments shown. This disclosure is intended to cover any and all adaptations or variations of various embodiments. Combinations of the above embodiments, and other embodiments not specifically described herein, will be apparent to those of skill in the art upon reviewing the above description. 

1. A computer-implemented method comprising: determining a characteristic of an advertisement message as a candidate for inclusion within an online game; determining a characteristic of a play performed according to a player of the online game; associating the advertisement message with the play based on the characteristic of the advertisement message corresponding with the characteristic of the play; promoting the play to at least one user of the online game; receiving an indication of at least one user of the online game having played the promoted play; and responsive to the indication of the promoted play having been played, transmitting the advertisement message associated with the promoted play to a device of the at least one user.
 2. The computer-implemented method of claim 1, further comprising: responsive to the determining the characteristic of each play, retrieving a frequency of use of an element corresponding to each play; determining that each frequency of use of a respective element satisfies a frequency condition of the element; offering a selected play to an advertiser as a candidate advertisement trigger when a frequency of use of the respective element in the selected play satisfies the frequency condition of the element; and from the advertiser, receiving a purchase indication associated with the selected play.
 3. The computer-implemented method of claim 2, wherein the frequency condition is a frequency of use of the element that is equal to or greater than a predetermined minimum threshold frequency value.
 4. The computer-implemented method of claim 1, wherein the associating the advertisement message includes associating at least one advertisement message with at least one play.
 5. (canceled)
 6. The computer-implemented method of claim 1, wherein the characteristic of the advertisement message matches the characteristic of the play.
 7. The computer-implemented method of claim 1, wherein a play includes a move from one or more players for one or more instances of an online game.
 8. The computer-implemented method of claim 1, wherein associating the advertisement message with the play being carried out by an advertiser or a gaming provider.
 9. The computer-implemented method of claim 1, further comprising storing the plurality of plays of the online game in a storage device.
 10. The computer-implemented method of claim 1, wherein the characteristic of the advertisement message including at least one of a term, a phrase, a symbol, and a graphic depiction.
 11. A non-transitory computer-readable storage medium embodying a set of instructions, that when executed by at least one processor, causes the at least one processor to perform operations comprising: determining a characteristic of an advertisement message as a candidate for inclusion within an online game; determining a characteristic of a play performed according to a player of the online game; associating the advertisement message with the play based on the characteristic of the advertisement message corresponding with the characteristic of the play; promoting the play to at least one user of the online game; receiving an indication of at least one user of the online game having played the promoted play; and responsive to the indication of the promoted play having been played, transmitting the advertisement message associated with the promoted play to a device of the at least one user.
 12. The non-transitory computer-readable storage medium of claim 11, the operations further comprising: responsive to the determining the characteristic of each play, retrieving a frequency of use of an element corresponding to each play; determining that each frequency of use of a respective element satisfies a frequency condition of the element; offering a selected play to an advertiser as a candidate advertisement trigger when a frequency of use of the respective element in the selected play satisfies the frequency condition of the element; and from the advertiser, receiving a purchase indication associated with the selected play.
 13. The non-transitory computer-readable storage medium of claim 12, wherein the frequency condition is a frequency of use of the element that is equal to or greater than a predetermined minimum threshold frequency value.
 14. The non-transitory computer-readable storage medium of claim 11, wherein the associating the advertisement message includes associating at least one advertisement message with at least one play.
 15. (canceled)
 16. The non-transitory computer-readable storage medium of claim 11, wherein the characteristic of the advertisement message matches the characteristic of the play.
 17. The non-transitory computer-readable storage medium of claim 11, wherein a play includes a move from one or more players for one or more instances of an online game.
 18. The non-transitory computer-readable storage medium of claim 11, wherein associating the advertisement message with the play being carried out by an advertiser or a gaming provider.
 19. The non-transitory computer-readable method of claim 11, the operations further comprising storing the plurality of plays of the online game in a storage device.
 20. A system comprising: a game play server configured to provide game play interaction through a network connection to at least one client machine; a game data storage module configured to store game play data associated with an online game session with the at least one client machine; a determination module configured to determine characteristics of advertisement messages and plays from online games; a promotion module configured to promote plays to users of an online game; and an association module configured to associate an advertisement message with plays based on a characteristic of the advertisement message and a characteristic of a respective play.
 21. The computer-implemented method of claim 1, further comprising: storing the play from the player along with a link in to a data structure, wherein the link being operative to locate the advertisement message.
 22. The non-transitory computer-readable storage medium of claim 11, the operations further comprising: storing the play from the player along with a link in to a data structure, wherein the being operative to locate the advertisement message. 